package com.ruoyi.wms.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.wms.domain.entity.MailboxMessage;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.excel.annotation.ExcelDictFormat;
import com.ruoyi.common.excel.convert.ExcelDictConvert;
import lombok.Data;
import io.github.linpeilie.annotations.AutoMapper;

import java.io.Serializable;
import java.io.Serial;
import java.time.LocalDateTime;

/**
 * 信件管理视图对象 mailbox_message
 *
 * @author zcc
 * @date 2024-12-14
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = MailboxMessage.class)
public class MailboxMessageVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long id;

    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名")
    private String name;

    /**
     * 写信人id
     */
    private Long authorId;

    /**
     * 性别
     */
    @ExcelProperty(value = "性别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_user_sex")
    private Integer gender;

    /**
     * 填写地唯一id
     */
    private String address;

    /**
     * 填写地内容
     */
//    @ExcelProperty(value = "填写地")
    private String addressValue;

    /**
     * 填写地id
     */
    private String addressIds;

    /**
     * 户籍所在地
     */
    @ExcelProperty(value = "户籍所在地")
    private String domicileAddress;

    /**
     * 手机号
     */
    @ExcelProperty(value = "手机号")
    private String phone;

    /**
     * 邮箱
     */
    @ExcelProperty(value = "邮箱")
    private String email;

    /**
     * 主题
     */
    @ExcelProperty(value = "主题")
    private String theme;

    /**
     * 内容
     */
    @ExcelProperty(value = "内容")
    private String content;

    /**
     * 照片
     */
    @ExcelProperty(value = "照片")
    private String image;

    /**
     * 视频
     */
    @ExcelProperty(value = "视频")
    private String video;

    /**
     * 信件状态
     */
    @ExcelProperty(value = "信件状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "message_status")
    private String status;

    /**
     * 分配用户
     */
    private Long userId;

    /**
     * 分配部门
     */
    private Long deptId;

    /**
     * 分配部门
     */
    @ExcelProperty(value = "分配部门")
    private String deptName;

    /**
     * 反馈内容
     */
    @ExcelProperty(value = "反馈内容")
    private String deptFeedback;


    /**
     * 反馈附件
     */
    @ExcelProperty(value = "反馈附件")
    private String deptEnclosureImage;

    /**
     * 反馈附件
     */
    @ExcelProperty(value = "反馈附件")
    private String deptEnclosureVideo;

    /**
     * 回复人id
     */
    private Long reply;

    /**
     * 回复人姓名
     */
    @ExcelProperty(value = "回复人姓名")
    private String replyName;

    /**
     * 新建时间
     */
    @ExcelProperty(value = "新建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;


}
